<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Jakarta Regexp - Jakarta Regexp History of Changes</title>
<link rel="stylesheet" href="/style/style.css" type="text/css" />
<link rel="alternate" href="http://jakarta.apache.org/site/rss.xml" type="application/rss+xml" title="Apache Jakarta News" />
<meta name="author" value="Jon S. Stevens" />
<meta name="email" value="jon@latchkey.com" />
<meta name="author" value="Vadim Gritsenko" />
<meta name="email" value="vgritsenko@apache.org" />
</head>
<body>
<table class="page-header" border="0" width="100%" cellspacing="0">
<!--PAGE HEADER-->
<tr>
<td colspan="2">
<!--JAKARTA LOGO-->
<a href="http://jakarta.apache.org/">
<img src="http://jakarta.apache.org/images/jakarta-logo.gif" alt="The Jakarta Project" border="0" />
</a>
</td>
<td align="right">
<a href="http://apachecon.com/2007/EU/">
<img alt="ApacheCon Europe 2007" border="0" src="http://www.apache.org/ads/ApacheCon/2007-europe-234x60.png" />
</a>
</td>
</tr>
</table>
<table border="0" width="100%" cellspacing="4">
<tr>
<!--LEFT SIDE NAVIGATION-->
<td class="left-navbar" valign="top" nowrap="nowrap">
<p>
<strong>Regexp</strong>
</p>
<ul>
<li>
<a href="./index.html">Front Page</a>
</li>
<li>
<a href="./changes.html">Changes</a>
</li>
<li>
<a href="./applet.html">Applet</a>
</li>
<li>
<a href="http://jakarta.apache.org/site/../regexp/apidocs/">Javadoc</a>
</li>
<li>
<a href="http://jakarta.apache.org/site/downloads/downloads_regexp.cgi">Download</a>
</li>
</ul>
<p>
<strong>Get Involved</strong>
</p>
<ul>
<li>
<a href="http://jakarta.apache.org/site/getinvolved.html">Overview</a>
</li>
<li>
<a href="http://jakarta.apache.org/site/cvsindex.html">Source Repositories</a>
</li>
<li>
<a href="http://jakarta.apache.org/site/mail.html">Mailing Lists</a>
</li>
</ul>
<p>
<strong>Related Projects</strong>
</p>
<ul>
<li>
<a href="http://jakarta.apache.org/site/../oro/index.html">ORO</a>
</li>
</ul>
</td>
<!--MAIN BODY-->
<td class="main-body" valign="top" align="left">
<div class="section">
<div class="section-header">
<a name="Jakarta Regexp History of Changes">
<strong>Jakarta Regexp History of Changes</strong>
</a>
</div>
<p>
<div class="section-body">
      <p>
        This document reflects the changes between releases for the Jakarta Regexp
        package.
      </p>

<h3>Version 1.5 (18 Mar 2007)</h3>
<ul>
<li>Fixed Bug
    <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36405">36405</a>:
    Referencing an optional backreference returns null (VG)</li>
<li>Implemented optimization: RE compiler omits branch instruction if only one
    branch is present (VG)</li>
<li>Fixed Bug
    <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=9153">9153</a>:
    {m,n} implementation had exponential complexity (VG)</li>
<li>Fixed Bug
    <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=27763">27763</a>:
    RE incorrectly processed reluctant matchers (VG)</li>
<li>Fixed Bug
    <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38331">38331</a>:
    RE compiler creates incorrect program if pattern results in large program
    with offsets exceeding capacity of the short (VG)</li>
<li>Fixed Bug
    <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37275">37275</a>:
    RE incorrectly processes nested {n,m} closures (ex: (A{1}){0,2}) (VG)</li>
<li>Added accessor for REProgram.prefix (VG)</li>
</ul>

<h3>Version 1.4 (17 Aug 2005)</h3>
<ul>
<li>Fixed Bug:
    RE creates wrong character class when overlapping character ranges are
    used (ex: [a-h0f-z]) (VG)</li>
<li>Fixed Bug
    <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=30126">30126</a>:
    Support negated character classes (\W, \D, \S) in custom character class (VG)</li>
<li>Applied patches for Bug
    <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=27795">27795</a>:
    Add optimization for regexps which start with ^ (BOL) (VG)</li>
<li>Fixed Bug
    <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=25985">25985</a>:
    In MATCH_MULTILINE mode $ does not match end of line (VG)</li>
<li>Fixed Bug
    <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=2121">2121</a>:
    '.' or '-' in bracket expression gives unexpected results (VG)</li>
<li>Regexp is relicensed to <a href="http://www.apache.org/licenses/LICENSE-2.0">
    Apache License, Version 2.0</a> (VG)</li>
<li>Fixed Bug
    <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=2525">2525</a>:
    Leading zero-length string splitted by RE (VG)</li>
<li>Applied patches for Bug
    <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=4137">4137</a>:
    Regexp match gets different results on different platforms (VG)</li>
<li>Applied patches for Bug
    <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=3303">3303</a>:
    Unicode 3.0 character \\uFFFD (VG)</li>
<li>Applied patches for Bug
    <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=3773">3773</a>:
    Problem with parsing greedy match modifiers (VG)</li>
<li>Applied patches for Bug
    <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=3273">3273</a>:
    CharacterArrayCharacterIterator docs and implementation mismatch (VG)</li>
<li>Fixed Bug
    <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=22928">22928</a>:
    subst() with REPLACE_BACKREFERENCES cuts first 2 characters (VG)</li>
</ul>

<h3>Version 1.3 (2 Sep 2003)</h3>
<ul>
<li>Fixed Bug
    <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=22804">22804</a>:
    ArrayIndexOutOfBoundsException on negated classes (VG)</li>
<li>New Feature: subst() can now process backreferences when flag
    REPLACE_BACKREFERENCES is set. See API docs for details.
    Patch provided by Tobias Schaefer. (VG)</li>
<li>Applied patches for Bug
    <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=16592">16592</a>:
    Syntax error: Too many bracketed closures (limit is 10) (VG)</li>
<li>Fixed Bug
    <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=5212">5212</a>, aka
    <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=14954">14954</a>:
    A bug caused by '-' in character class definition ('[...]') (VG)</li>
<li>Fixed Bug
    <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=4057">4057</a>:
    \w does not match underscore (VG)</li>
<li>Fixed Bug
    <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=1030">1030</a>, aka
    <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=10893">10893</a>:
    {n.m} notation work incorrect if n=0 (VG)</li>
<li>Re-visited Bug
    <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=3879">3879</a>:
    Expressions using {0,n} match 0 to n+1 times instead of 0 to n times.
    Now, expression "[a-z]{0,3}" matches "123abcdefg123" resulting in ""
    (empty string). (VG)</li>
<li>Fixed Bug
    <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=306">306</a>:
    Why is the RE class not Serializable? (VG)</li>
<li>Applied patches for Bug
    <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=3879">3879</a>:
    Expressions using {0,n} match 0 to n+1 times instead of 0 to n times. (JSS)</li>
<li>Applied patches for Bug
    <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=7288">7288</a>:
    Bug in negative character ranges. (JSS)</li>
<li>Applied patches for Bug
    <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=986">986</a>:
    Leading "\b" word boundary is ignored. (JSS)</li>
<li>Applied patches for Bug
    <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=3877">3877</a>:
    {n} and {n,m} not thread safe. (JSS)</li>
<li>Applied patches for Bug
    <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=8467">8467</a>:
    Number of paren pairs limited to 16 (JSS)</li>
<li>Fixed RE.grep() documentation to reflect a String[] is returned
    instead of an Object[].</li>
<li>
<a href="http://www.mail-archive.com/regexp-dev%40jakarta.apache.org/msg00002.html">
    New Feature</a>: Clustering (i.e. non backref'd grouping)</li>
<li>Rebuilt website with latest Jakarta-Site dependency</li>
</ul>

<h3>Version 1.2 (27 Nov 2000)</h3>
<ul>
<li>Updated to Ant 1.2 (JSS)</li>
<li>Documentation now built with <a href="http://jakarta.apache.org/site/jakarta-site2.html">Anakia</a> (JSS)</li>
<li>
<a href="http://svn.apache.org/viewvc?view=rev&amp;revision=126080">Fixed bug</a>
</li>
<li>
<a href="http://svn.apache.org/viewvc?view=rev&amp;revision=126081">
    Fixed bug</a>: StringIndexOutOfBoundsException if paren is empty</li>
<li>
<a href="http://svn.apache.org/viewvc?view=rev&amp;revision=126082">
    Fixed bug</a>: Case independent flag does not work in prefix optimization code</li>
<li>
<a href="http://svn.apache.org/viewvc?view=rev&amp;revision=126083">
    New Feature</a>: Added flag MATCH_SINGLELINE - newlines are matched by '.'</li>
</ul>

<h3>Version 1.1 (14 May 2000)</h3>

<p>
Contributions by Ales Novak:
</p>

<ul>
<li>RECompiler.compile() - copy on return</li>
<li>RE.matchNodes() - BOL and EOL cases
if RE.MATCH_MULTILINE is specified.
- Think of RETest.java which prints
MATCH!!!: ......
two times while in the older version only one time.
</li>
<li>
RE.java also contains an extension which allow to parse
InputStreams, Readers and char arrays in addition to Strings.
All needed modifications are only in the RE class.
</li>
</ul>

<p>
Contributions by Jon S. Stevens:
</p>

<ul>
<li>Fix in the build system for building on NT</li>
<li>Documentation fixes / additions</li>
</ul>

<h3>Version 1.0</h3>
<ul>
<li>Repackaging from original contribution. No major code changes.</li>
</ul>

    </div>
</p>
</div>
</td>
<!--RIGHT SIDE NAVIGATION-->
<td class="right-navbar" valign="top" nowrap="nowrap" />
</tr>
<!--FOOTER SEPARATOR-->
<tr>
<td colspan="3">
<hr noshade="noshade" size="1" />
</td>
</tr>
<tr>
<td colspan="3">
<div class="page-footer">
<em> Copyright &copy; 1999-2007, The Apache
                  Software Foundation. <a href="http://jakarta.apache.org/site/legal.html">Legal information</a>. </em>
</div>
</td>
</tr>
</table>
</body>
</html>
